package Test;

import java.util.Scanner;

//计算糖果
/*
【计算糖果】A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息：
A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.
现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。
输入描述：
输出描述：
示例1：
输入1，-2，3，4
输出：2，1，3
输入为一行，一共4个整数，分别为A - B，B - C，A + B，B + C，用空格隔开。 范围均在-30到30之间(闭区间)。
输出为一行，如果存在满足的整数A，B，C则按顺序输出A，B，C，用空格隔开，行末无空格。 如果不存在这样的整数A，B，C，则输出No
* */
public class Test8 {

    public static void main1(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int A = scanner.nextInt();
        int B = scanner.nextInt();
        int C = scanner.nextInt();
        int D = scanner.nextInt();

        int a  = (A+C)/2;
        int b1 = (C-A)/2;
        int b2 = (B+D)/2;
        int c = (D-B)/2;
        if(b1 != b2){
            System.out.println("No");
        }else{
            System.out.println(a+" "+b1+" "+c);
        }
    }
        /*
        【进制转换】给定一个十进制数M，以及需要转换的进制数N。将十进制数M转化为N进制数
输入描述：输入为一行，M(32位整数)、N(2 ≤ N ≤ 16)，以空格隔开
输出描述：为每个测试实例输出转换后的数，每个输出占一行。如果N大于9，则对应的数字规则参考16进制（比如，10用A表示，等等）
示例1：
输入7 2
输出1 1 1

}
输入为一行，M(32位整数)、N(2 ≤ N ≤ 16)，以空格隔开。
为每个测试实例输出转换后的数，每个输出占一行。如果N大于9，则对应的数字规则参考16进制（比如，10用A表示，等等）
7 2(2代表是二进制)
111

        * */
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int m = scanner.nextInt();
            int n = scanner.nextInt();
            String str = "0123456789ABCDEF";
            StringBuilder str1 = new StringBuilder();
            boolean flag = false;
            //如果m值是负数，所以用来提前判断一下
            if(m < 0){
                m = -m;
                flag = true;
            }
            while(m != 0){
                str1.append(str.charAt(m%n));//先获取str中具体的字符，用charAt获取后，再用append拼接到新的字符串中
                m = m/n;
            }
            if(flag == true){
                str1.append("-");
            }
            str1.reverse();//reverse是用来逆置字符串
            System.out.println(str1);
    }
}
